package com.tanklab.signature.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import java.util.Base64;

@Configuration
public class FilePreviewConfig {

    // KK File View服务的基础URL
    @Value("${file.preview.url:http://localhost:8012}")
    private String filePreviewBaseUrl;

    // 预览接口路径
    @Value("${file.preview.path:/onlinePreview}")
    private String previewPath;

    // 系统的基础URL（用于构建文件绝对路径）
    @Value("${server.base-url:http://localhost:8010/signature}")
    private String serverBaseUrl;

    /**
     * 获取预览URL前缀
     */
    public String getPreviewBaseUrl() {
        return filePreviewBaseUrl + previewPath;
    }

    /**
     * 获取服务器基础URL
     */
    public String getServerBaseUrl() {
        return serverBaseUrl;
    }

    /**
     * 使用BASE64编码URL
     * @param url 原始URL
     * @return BASE64编码后的URL
     */
    public String encodeUrlToBase64(String url) {
        try {
            return Base64.getEncoder().encodeToString(url.getBytes("UTF-8"));
        } catch (Exception e) {
            return "";
        }
    }
}